package com.hospital.schedule.module.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hospital.common.base.PageResult;
import com.hospital.common.dto.schedule.module.*;
import com.hospital.common.pojo.TDoctorLeaveRecord;
import com.hospital.common.vo.schedule.module.AddLeaveRecordDto;

/**
 * <p>
 * 医⽣请假记录表 服务类
 * </p>
 *
 * @author author
 * @since 2025-09-12
 */
public interface ITDoctorLeaveRecordService extends IService<TDoctorLeaveRecord> {

    /**
     * 添加请假记录
     *
     * @param addLeaveRecordDto 请假记录信息
     * @return 添加结果
     */
    Integer addLeaveRecord(AddLeaveRecordDto addLeaveRecordDto);

    PageResult getLeaveRecord(GetLeaveRecordDto getLeaveRecordDto);

    PageResult findLeaveRecordByDoctor(FindLeaveRecordByDoctorDto findLeaveRecordByDoctorDto);

    Integer agreeLeaveRecord(AgreeLeaveRecordDto agreeLeaveRecordDto);

    Integer agreeLeaveRecordByDoctor(AgreeLeaveRecordByDoctorDto agreeLeaveRecordByDoctorDto);

    Integer disagreeLeaveRecordByAdmin(DisagreeLeaveRecordByAdminDto disagreeLeaveRecordByAdminDto);
}
